#include <stdio.h>

int main()
{
    printf("%d\n", 3 << 2); //3<<2  ===> 0x11<<2 ===>1100，即12
    printf("%d\n", 3 >> 1); //0x11<<1， 即1
    printf("%d\n", -1 >> 1);//0x1111>>1 ，即0x1111，仍为1
    printf("%d\n", 0x01 << 2 + 3);//相当于0x01<<(2+3)，即32
    
    printf("%d\n", 3 << -1); // oops!右操作数必须为[0,31]，不同编译器处理方式不同
    
    return 0;
}